AWS CloudFormation에서 스택을 업데이트하는 직접 업데이트, 변경 세트 생성은 무슨 차이 일까?
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS CloudFormation에서 스택을 업데이트하는 직접 업데이트, 변경 세트 생성의 차이점에 대해서 정리해 봤습니다.
스택을 업데이트할 수 있는 방법
AWS CloudFormation에서는 스택을 업데이트할 수 있는 두 가지 방법을 제공합니다.
- 직접 업데이트
- 변경 세트 생성 및 실행
스택을 직접 업데이트하는 경우 AWS CloudFormation에서 즉시 해당 변경 사항을 배포합니다.
변경 세트를 사용하면 AWS CloudFormation에서 스택에 대해 변경한 사항을 미리 보고 이러한 변경 사항을 적용할지 여부를 결정할 수 있습니다.
직접 업데이트를 통한 스택 업데이트
테스트를 위해 다음 파라미터 값으로 VPC를 생성했습니다.
VPC를 제외하고 서브넷은 다음과 같이 CIDR를 수정하고 스택 업데이트를 진행해 보겠습니다.
- 10.0.13.0/24
- 10.0.14.0/24
- 10.0.23.0/24
- 10.0.24.0/24
업데이트할 스택을 선택하고「업데이트」를 클릭합니다.
스택 업데이트의 경우 아래 3가지를 이용해 업데이트를 할 수 있습니다.
- 현재 템플릿 사용
- 현재 템플릿 교체
- Designer에서 템플릿 편집
현재 템플릿 사용의 경우, 현재 템플릿에서 설정된 파라미터 값을 수정해서 바로 업데이트를 적용할 수 있습니다.
현재 템플릿 교체의 경우 CloudFormation 스택을 생성할 때와 동일하게, json, yml 파일을 업로드해서 스택을 업데이트할 수 있습니다.
Designer에서 템플릿 편집의 경우 AWS CloudFormation Designer를 사용하여 간단한 끌어서 놓기 인터페이스로 그래픽 방식으로 스택을 설계합니다.
스택을 생성하기 전, 변경 사항을 통해 어떤 작업이 업데이트 될 건지 확인할 수 있습니다.
곧 바로 업데이트가 진행되며, 이벤트를 통해 업데이트의 성공 유무를 확인할 수 있습니다.
변경 세트 생성을 통한 업데이트
업데이트할 스택을 선택하고「스택 작업」→「현재 스택에 대한 변경 세트 만들기」를 클릭합니다.
템플릿 준비에 대해서는 직접 업데이트와 동일합니다.
스택 세부 정보 지정에서는 변경 세트의 이름과 설명을 입력합니다.
직접 업데이트에서는 변경 세트 미리보기를 통해 어떤 리소스가 업데이트 될 건지 확인할 수 있었지만, 변경 세트 생성의 경우「전송」버튼을 클릭한 다음 실시간으로 업데이트 진행 상황을 확인할 수 있습니다.
※ 실제 업데이트가 진행 되는 것이 아닌, 변경 세트를 통해 실행 중인 리소스에 미치는 영향을 파악할 수 있도록 합니다.
실시간으로 변경 세트 업데이트 진행 상황을 확인할 수 있습니다.
생성한 변경 세트에 문제가 없다는 위와 같은 메시지가 표시됩니다.
이어서 현재 리소스에 적용하고자 할 경우「변경 세트 실행」을 클릭합니다.
마지막으로「모든 스택 리소스 롤백」을 선택하고 변경 세트 실행을 클릭하면 수정한 파라미터 값으로 리소스가 수정되는 것을 확인할 수 있습니다.
직접 업데이트의 경우 변경 사항을 통해 어떤 작업이 업데이트 될 건지 확인하, 곧 바로 스택 업데이트가 진행되는 반면, 변경 세트를 생성할 경우, 변경 세트를 통해 실행 중인 리소스에 미치는 영향을 파악하여 스택을 업데이트할지 말지 결정할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.